package com.edu.base.common.vo;

import java.util.Map;

import com.google.common.collect.Maps;

/**
 * 验证码枚举类型
 * 主要为项目中不同业务点，发送验证码时使用
 * @author admin
 *
 */
public enum VerifyCodeEnum {
	GLOBAL_SENDCOUNT("1000","101","验证码获取次数超出限制，请明天再试 !"),//每天最大发送次数，这个是全部的，不针对业务
	GLOBAL_SEND_WAIT_TIME("1001","102","您已提交验证码,请之后在提交!"),///验证码能够点击下一次发送的等待时间
//	GLOBAL_SENDCOUNT_EXPIRE_TIME("1","103","手机号已注册，请直接登录！"),//验证码的有效时间,这个无需提示用户，只是一个验证码有效时间
	UNKNOW_TYPE("1002","103","未知的业务类型，无法发送！"),//未定义的业务类型
	
	USER_REGISTER("1","104","手机号已注册，请直接登录！","1"),//用户注册
	MODIFY_PASSWORD("2","105","手机号还没注册，请先注册！","2"),//修改密码
	FIND_PASSWORD("3","105","手机号还没注册，请先注册！","2"),//找回密码即忘记密码
	CHECK_OLDPHONE("4","105","手机号还没注册，请先注册！","2"),//校验原手机号
	WECHAT_BIND("5","106","该手机号已绑定该第三方，请更换其他手机号进行绑定。"),//微信绑定
	QQ_BIND("6","106","该手机号已绑定该第三方，请更换其他手机号进行绑定。"),//qq绑定
	WEIBO_BIND("7","106","该手机号已绑定该第三方，请更换其他手机号进行绑定。"),//微博绑定
	CHANGE_NEWPHONE("8","107","绑定失败，当前手机号已被绑定！","1"),//更换新手机号
	VERIFYCODE_LOGIN("9","108","用户不存在！","2");//验证码快速登录

	private String messType;//消息类型代码
	private String errorStatus;//错误代码
	private String errorMessage;//错误描述
    private String ifNeedUserExist;//是否需要用户存在，1:用户必须不存在，若存在返回错误信息 2:要求用户必须存在，若不存在则返回错误信息，，有些业务是需要用户先存在的，比如说解绑,必须用户要存在，比如说注册，必须用不存在；
	private VerifyCodeEnum(String messType, String errorStatus, String errorMessage) {
		this.messType = messType;
		this.errorStatus = errorStatus;
		this.errorMessage = errorMessage;
	}
	private VerifyCodeEnum(String messType, String errorStatus, String errorMessage,String ifNeedUserExist) {
		this.messType = messType;
		this.errorStatus = errorStatus;
		this.errorMessage = errorMessage;
		this.ifNeedUserExist = ifNeedUserExist;
	}
	public String getMessType() {
		return messType;
	}

	public void setMessType(String messType) {
		this.messType = messType;
	}

	public String getErrorStatus() {
		return errorStatus;
	}

	public void setErrorStatus(String errorStatus) {
		this.errorStatus = errorStatus;
	}

	public String getErrorMessage() {
		return errorMessage;
	}

	public void setErrorMessage(String errorMessage) {
		this.errorMessage = errorMessage;
	}
	public String getIfNeedUserExist() {
		return ifNeedUserExist;
	}
	public void setIfNeedUserExist(String ifNeedUserExist) {
		this.ifNeedUserExist = ifNeedUserExist;
	}
	public static Map<String, Object> buildReturnMap(VerifyCodeEnum vce) {
		Map<String, Object> mo=Maps.newHashMap();
		mo.put("errorStatus", vce.getErrorStatus());
		mo.put("errorMessage", vce.getErrorMessage());
		return mo;
	}
}
